-
Notifications
You must be signed in to change notification settings - Fork 101
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement AF_UNIX sockets on Windows #115
base: master
Are you sure you want to change the base?
Conversation
CI is failing |
2b1d491
to
0de2531
Compare
I moved PR to draft until i figure out the test failure. |
Yes, feels like a race condition waiting to be exploited. |
dbc098e
to
2ef96e3
Compare
Okay, I think I'm done here.
Yep, I went this route. |
eed419a
to
4826f0e
Compare
cc @neersighted |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall LGTM! Left a little nit about the error string.
@slonopotamus Could you sign-off your commit? The DCO check is failing. |
Oh! It's the "accept suggestions" option on GitHub. That one is always a pain, because it's too easy to just "click the button", and now having an incorrect commit. I can do a quick rebase and squash that one into the first commit. |
See moby/moby 36442 Co-authored-by: Laura Brehm <laurabrehm@hey.com> Signed-off-by: Marat Radchenko <marat@slonopotamus.org>
Before this change, CI would only trigger on commits to master branch. When contributor creates a branch that would later become a PR, they do not want to use master branch. Instead, they want to use feature-branch. But before this commit, CI would not run in non-master branch at all, so contributor is unable to test their changes before creating a PR to upstream repository. Signed-off-by: Marat Radchenko <marat@slonopotamus.org>
b4c692f
to
57eb8d8
Compare
I think this PR should be OK to merge, BUT will need some follow-ups. Some quick blurbs;
That said (as mentioned) there's some bits that must be addressed before we tag a new release;
go-connections/sockets/unix_socket.go Lines 60 to 78 in 5df8d2b
|
I believe on Windows the for the created socket would follow the rest how filesystem permissions work there, i.e. hierarchical depending on the directory it's in. But maybe someone more knowledgeable would know better 😅 |
We should probably look at what we do for other parts A quick follow-up should be to make the existing functions (for now) return an error if they cannot set permissions (so that it's not silently ignored). |
I went to look a bit into this, and from the Microsoft post about
We're not ignoring any errors from that (on the However,
Given that, I guess we're dependant on the hierarchical directory permissions on Windows from preventing other users from accessing the socket. |
Yeah, if memory serves me well, some of those functions in Go stdlib are not implemented on Windows, and silently discarded (uid/gid being ignored). But we should check for sure. |
Yup! I had written some of that in that reply:
|
See moby/moby#36442
This is a rebase of #98.